FIG. 1 is a block diagram of conventional distributed system 100. Conventional distributed system 100 includes user layer 110 and data access layer 120. User layer 110 may provide the presentation logic and the business logic for conventional distributed system 100. The term “presentation logic” refers to computer software (or simply software) that determines how information is provided to a user and how the user interacts with an application. The term “application” refers to software that performs work, such as data creation or manipulation. “Business logic” refers to software that performs data processing. User layer 110 includes user terminals 114-116. User terminals 114-116 may be, for example, general purpose computing devices.
Data access layer 120 provides a persistent data store for conventional distributed system 100. Data access layer 120 includes computing device 140, data source 150, and data dictionary 160. Computing device 140 may a general purpose computing device or a specialized database computing device. Computing device 140 includes a Database Management System (DBMS) to control the data in data source 150 including the overall organization of the data, retrieval of the data, and integrity of the data.
Data dictionary 160 provides a source of information in which the system data for distributed system 100 is defined in a logical way. System information includes information whose function is to define the semantic and syntactic properties of operational data, such as the type, length, and relationships of operational data. System information that is defined in data dictionary 160 is, generally, available to applications operating on user terminals 114-116. For example, applications operating on user terminals 114-116 may use data or variables that are defined in data dictionary 160. Thus, any change to the data and/or variables defined in data dictionary 160 may automatically affect the applications operating on user terminals 114-116. In addition, services sitting on top of the data dictionary use the defined types and values.
Distributed systems are increasingly using an application layer between user layer 110 and data access layer 120. To provide services to user layer 110, an application layer needs access to the information stored in the data dictionary. Also, distributed systems having an application layer may also have more than one database system in the data access layer. Thus, an application layer may need access to the information stored in multiple database systems of a data access layer.